/**
 * Copyright (c) Software Institute of PKU
 * All rights reserved. 
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 */
package edu.pku.sei.transformation.editor.views.figures;

import org.eclipse.draw2d.ColorConstants;
import org.eclipse.draw2d.Ellipse;
import org.eclipse.draw2d.Graphics;
import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.Label;
import org.eclipse.draw2d.XYLayout;
import org.eclipse.draw2d.geometry.Point;
import org.eclipse.draw2d.geometry.Rectangle;
import org.eclipse.swt.graphics.Color;

import edu.pku.sei.modeler.figures.CommonFigure;

/**
 * @generated
 * 
 */
public class FinalNodeFigure extends CommonFigure {
	public static final org.eclipse.swt.graphics.Color ACTIVITYFINALNODE_COLOR = new Color(
			null, 175, 178, 239);
	public IFigure root = null;
	public IFigure circleIn = null;

	public FinalNodeFigure() {
		super();
		XYLayout xyL = new XYLayout();
		setLayoutManager(xyL);
		setOpaque(true);

		root = new Ellipse();
		root.setOpaque(false);
		root.setForegroundColor(ColorConstants.black);
		add(root);

		circleIn = new Ellipse();
		circleIn.setOpaque(true);
		circleIn.setBackgroundColor(ColorConstants.buttonDarkest);
		add(circleIn);
		setToolTip(new Label("final node"));

	}

	public void setBounds(Rectangle rect) {
		rect.setSize(20, 20);
		super.setBounds(rect);
		if (root != null)
			root.setSize(rect.width, rect.height);
		if (circleIn != null) {
			circleIn.setSize((int) (rect.width * 0.6),
					(int) (rect.height * 0.6));
			circleIn.setLocation(new Point((int) (rect.width * 0.2) + rect.x,
					(int) (rect.height * 0.2) + rect.y));
		}
	}

	protected void paintShadow(Graphics g) {
		// TODO: draw the figure's own shadow here
	}
}
